#ifndef VLTERRAINCONTEXTWIDGET_H
#define VLTERRAINCONTEXTWIDGET_H

#include <QLabel>
#include <QHBoxLayout>
#include <QLineEdit>
#include <QPushButton>
#include "vlcontextwidget.h"
#include "defines.h"

class VLTerrainContextWidget : public VLContextWidget
{
    Q_OBJECT

    QLabel *nameLabel;
    QHBoxLayout *layout;

    QLineEdit *surfaceEq;
    QLineEdit *redEq;
    QLineEdit *greenEq;
    QLineEdit *blueEq;

    QSpinBox *minX;
    QSpinBox *minY;
    QSpinBox *minZ;
    QSpinBox *maxX;
    QSpinBox *maxY;
    QSpinBox *maxZ;

    QPushButton *generateBtn;

    QLineEdit *createAndAddLineEdit(QHBoxLayout *layout, QString text);
    QPushButton *createAndAddButton(QHBoxLayout *layout, QString text);

public:
    explicit VLTerrainContextWidget(QWidget *parent = 0);
    
signals:
    void terrainEquationChanged(QString, QString, QString, QString, int, int, int, int, int, int);
public slots:
    void generateTerrain();
};

#endif // VLTERRAINCONTEXTWIDGET_H
